package com.atguigu.springcloud.cloudsentinelgatewaydevelop.bean.dto;

import com.alibaba.csp.sentinel.slots.block.flow.param.ParamFlowClusterConfig;
import com.alibaba.csp.sentinel.slots.block.flow.param.ParamFlowItem;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

@Data
public class SentinelParamFlowRuleDTO {

  private static final long serialVersionUID = 3608315227021369376L;

  private long id;
  private String applicationName;
  private String resource;
  private Integer burstCount;
  // todo: ParamFlowClusterConfig 对象
  @JsonProperty(value = "clusterConfig")
  private ParamFlowClusterConfig clusterConfig;
  private Boolean clusterMode;
  private Integer controlBehavior;
  private Double count;
  private Long durationInSec;
  private Integer grade;
  private Integer maxQueueingTimeMs;
  // todo: paramFlowItemList 为 jsonArray
  @JsonProperty(value = "paramFlowItemList")
  private List<ParamFlowItem> paramFlowItemList;
  private Integer paramIdx;
  private String limitApp;

}
